[<<Previous Entry]
[^^Up^^]
[Next Entry>>]
[Menu]
[About The Guide]
Introduction to CVFF
"Creative Voice File Format" is defined to facilitate the use of a
large group of voice data captured under the creative Voice System
(VoxKit). Developers are encouraged to use this format, so that
their applications can use voice files available in the future.
The Creative Voice file is organized in two main blocks, the
header block and Data block.
The Header block contains information on the format and organization of
the voice file.
The data block is sub-divided into various sub-blocks of data.
Header Block.
Offset ( in hex )
0 - 13 : File Description.
Following message is stored here:
"Creative Voice File", 1AH.
14 - 15 : Offset to voice data location.
This word points the data block. It helps application
programs locate the data block, in case the size of the
header block is changed.
Current version points to offset 1A hex.
16 - 17 : Voice file format version number.
This version number allows application programs to
identify different organization formats of voice data
files, in case of future enhancements.
To maintain upward compatability of all voice data
files, application programs should handle different
voice file format
LSB and MSB are the minor and major version
number respectively.
Current version is 1.10.
18 - 19 : Voice file identification code.
This code is for the application program to ensure
that the file is has loaded to process is a voice file.
Its content is the complement of the file format
version number plus 1234 hex.
Eg. for current version: compl (010aH + 1234H) = 01129H
Data Block
The data block is sub-divided into many sub-blocks of data.
The first byte of each sub-block is called the block type
(BLKTYPE). It indicates the type of the data contained in the sub-block
excluding the BLKTYPE and BLKLEN.
Depending on the BLKTYPE, the rest of the data in the sub-block
may be the voice attributes (such as sampling rate and packing),
voice data or other information (such as markers and remarks).
An application is not required to interpret all the BLKTYPEs. For
those BLKTYPEs it ignores or does not recognize, it can move to
the next sub-block based on the BLKLEN easily.
This page created by ng2html v1.05, the Norton guide to HTML conversion utility.
Written by Dave Pearson